\section{CSS语法与规则}

\subsection{语法声明} % (fold)
\label{sub:语法声明}
CSS 由一系列声明构成。语法声明分成两类：at规则(at-rules)和CSS规则集(rule sets)。\cite{W3C-2016}声明之间可由空白字符连接。

\subsubsection{at 规则} % (fold)
\label{ssub:at_规则}
At 规则以“@”关键字开始，之后紧跟标志符。比如：“@import”。

“@import” 规则的作用是从其他样式表文件中导入样式格式。@import 关键字之后必须跟随要引入到当前文件中的样式表URI地址，不过也可以仅用字符串表示。例如：

\begin{lstlisting}
@import "mystyle.css";
\end{lstlisting}

上述语法声明等同于：

\begin{lstlisting}
@import url("mystyle.css");
\end{lstlisting}

都表示要引用mystle.css样式表。

注意：“@import”不能放在语法块中，也不能放在“@charset” 或者“@import”规则之后。例如：

\begin{lstlisting}
@import "subs.css";
h1 { color: blue }
@import "list.css";
\end{lstlisting}

上述代码中最后的@import语句将被忽略。

除了“@import”之外，常用的@规则还有“@media”，“@media”表示为特定媒体（多个媒体之间可用逗号分隔）声明样式，例如：

\begin{lstlisting}
@media print {
    body { font-size: 10pt }
  }
\end{lstlisting}

表示当页面打印时字体为10pt。

CSS支持的媒体类型有：
\label{CSSmedia}
\begin{description}
	\item[all] 适合所有设备。
	\item[braille] 适合布莱叶盲文触摸设备。
	\item[embossed] 适合布莱叶盲文打印设备。
	\item[handheld] 适合小屏幕、带宽有限的手持设备。
	\item[print] 适合打印设备。
	\item[projection] 适合投影仪。
	\item[screen] 适合计算机显示屏幕。
	\item[speech] 适合语音阅读设备。
	\item[tv] 适合早期低分辨率的电视。
\end{description}

\subsubsection{规则集} % (fold)
\label{ssub:规则集}
规则集，也称规则，由选择符和跟随其后的声明块组成。声明块以“\{”开始，以“\}”结束，其中的声明以“;”分隔。声明由属性名称和属性值组成，属性名称和属性值之间用“:”连接。例如：

\begin{lstlisting}
h1 { color: red; }
p { color: blue; }
em em { font-style: normal; }
\end{lstlisting}

\subsection{CSS注释} % (fold)
\label{sub:css注释}
在CSS中，注释以“/*”开始，以“*/”结束，注释之内的内容会被浏览器忽略。注释不能嵌套使用。
